The delivery of information programs, such as video entertainment and educational programs, to viewers has largely been provided through a few well known technologies, such as broadcast television, cable television, and satellite broadcast television. A limitation of these conventional technologies is that they are not conducive to allowing customer control of the choice of programming and time of program delivery. Viewers receive programs substantially as selected, scheduled and transmitted by the content providers. In response to these limitations and as a result of the development of the video cassette recorder, video rental stores have proliferated across the nation. These stores provide viewers with a greater variety in progam choices and provide the viewers with the flexibilty to watch these videos at their convenience. However, viewers still have to endure the inconvience of picking up the program from the video rental store and returning it by a certain date and time. In view of these shortcomings and in response to the development of wide band telecommuncations technologies, many in the telecommunications industry have been developing systems and architectures for Video-on-Demand (VOD) services.
One such example of a video on demand network service architecture is described in U.S. Pat. No. 5,371,532 entitled "Communications Architecture and Method for Distributing Information Services", Dec. 6, 1994.
Advances in network technologies will contribute to the realization of the VOD service over wide area networks (W. D. Sincoskie, "System Architecture for Large Scale Video on Demand Service," Computer Network and ISDN systems, pp. 155-162, (1991), P. Venkatan Rangan, H. M. Vin and S. Ramanathan, "Designing an On-Demand Multimedia Service," IEEE Communication Magazine, Vol. 30, pp 5-65, July 1992). The market success of any VOD service is dependant on the choice of video information available to a VOD subscriber and the ability of such videos to be delivered to clients in a continuous fashion without interruption. Such designs require a video service capable of servicing a number of simultaneous requests (Banu Ozode, Alexandros Biliris, Rajeev Rastogi and Avi Silbershatz, "A Low-cost Storage Service for Movie on Demand Databases," Proceedings of the 20th Very Large DataBases (VLDB) Conference, Santiago, Chile, 1994). A key performance measurement of a VOD service is the maximum time a viewer has to wait when the viewer makes a request to see a movie and when that movie is available to be viewed. This measurement is known as access time.
It is anticipated that a VOD service will be deployed using a client/server computer architecture. A VOD customer will have at his customer premises a device that would be a multimedia client in this client/server VOD architecture. This multimedia client would typically be a workstation or a powerful PC with capablities of receiving and decompressing digital video from a VOD server, storing the video in its secondary storage, and concurrently playing it from storage at a predefined rate. An example client machine is a Silicon Graphics Indy worksation with a 100 MHz MIPS R4000 processor and a Scientific Atlanta add-in board for decompression and analog signal processing. The underlying network can be any network techonology that supports multicasting (i.e. broadcasting on specific channels).
One of the difficulties in designing a responsive VOD service architecture is that most of the demand (80%) is for a few (10 to 20) very popular movies. As an example, a typical video rental store may have as many as fifty copies of each of the top 20 movies and no more than two, on average, of the rest of the titles. How do you design a client server architecure model that would permit 80% of the users at any one time to have rapid access to a small number movies stored on the system while still maintaining a large variety of movies to select from?
One solution that addresses this problem is a three-tiered video server as proposed by Oracle Corporation. Under this three tiered scheme, the dozen or so most popular releases will be always loaded into the first tier, the main memory of the server computer. This would give thousands of viewers quick access to the digital files that get used the most. The second tier would be kept on 1000 or more hard storage disks inside the server, containing about 200 of the next-most-popular movies. The third tier, reserved for lower-demand movies requested only occasionally, would be a separate machine--a "video jukebox" with tens of thousands of 8-millimeter digital tapes, each containing a single movie. When a viewer requests an archived title, a robotic arm would grab the cassette and load it into the video servers memory bank. The Christmas classic "Its a Wonderful Life" is a good exampler example of a movie that might rotate among all three tiers. Most of the year the movie will not be in high demand and therefore it would make sense to keep it stored in the video juke-box. Then around the Christmas season, it would be appropriate to load it onto the hard drives in tier 2 in anticipation of the increase in requests. During times of real heavy demand such as on Christmas Eve, it can be store in the computers memory as part of the first tier.
A modification to this approach is to broadcast over the wide area network the movies stored in the first tier rather then provide them at the request of the subscriber using the client server approach, because the broadcasting approach is best able to scale up to handle the increase usage such as during "prime time" (say between 7 pm and 11 pm). As an example, if the number of viewers desiring to see a movie in the first tier increases 10 fold, using the broadcast approach for the first tier will enable all the viewers to receive the movie within the same access time versus the requests being queued and requiring processing by the server. In the broadcasting model, the user's request for a particular movie does not have to be transmitted to the server. The user (client) just waits until the movie of choice is downloaded to the users machine from within the broadcast batch of movies on the newtork. No explicit request to the server then is made for any movie. These requests are handled at the user's machine (client end) instead of being handled at the server end. Such a VOD service can be rendered as follows:
During prime time, the broadcasting approach is used for the popular movies, those in the first tier, and rest of the movies, those in the second and third tiers, are provided by the client-server model. PA1 During all other times, all the movies are provided by the client-server model.
However, broadcasting movies requires large bandwidths to maintain quick user access times. Key parameters for determining the access time performace of a VOD system are the consumption rate, as the bandwidth of the channel and the number of movies that will be broadcasted. A consumption rate is defined the rate of "b" bits (frames)/second for continuous viewing of the movie. In other words, at least b bits (frames) have to be delivered at the client every second. The bandwidth "B" of the is channel is a defined as the number of "b" bits over which M number of movies are transmitted each having size D. For our purposes the bandwidth is dimensionless value defined relative to the consumption rate. In other words, a bandwidth of B equal to 10 indicates that the bit rate of the channel is 10 times as much as the consumption rate of a movie. The size D of a movie will be measured as the viewing (consumption) time for the entire movie. For example, the size of the typical movie is equal to 100 minutes. Thus, with B equal to 10, assuming no compression, it will take 10 minutes to physically send such a typical movie over the channel. In general, the broadcasting time over a channel with bandwidth B is equal to B/D.
There are two conventional broadcasting methodologies known in the art. Using the first methodology, M movies are broadcast on a channel in their entirety, one after another. Thus the access time for any movie is (M*D)/B; where M is the number of movies, D is the average length of the movies, and B is the relative bandwidth of the communicaitons channel. Under the second methodology, a physical channel is considered to be divided into B logical channels. A replica of each movie is broadcast on different logical channes with a phase dely of "d" time units. There are D/d logical channels for each movie. On each logical channel, one movie is broadcast periodically at its consumption rate, in its entirety. In this way, any client can start viewing the movie in at most "d" time units (by tuning into one of the D/d logical channels). The total available bandwidth B is divided equally among the M movies. Each movie has a bandwidth of B/M allocated to it. Since each channel has a bandwidth equal to the consumption rate of a movie, D/d equal B/ M. Any client requesting a movie can tune into the appropriate channel and begin viewing the movie in not more than d=(M*D)/B time units. Thus, the access time is (M*D)/B.
Note that both broadcasting methods have the same access time and that as the bandwidth B increases, the access time decreases lineraly. Or as the number of movies broadcasted increases, the access time increases lineraly. However, as VOD service networks are developed and deployed to serve an ever increasing constintuency and broadcast a greater number of movies there is a need to reduce the access time more than at the linear rate that is provided with improvments in bandwidth. It is therefore the object of our invention to provide a method for broadcasting movies over a wide band network with an improvment in access time over that provided by the current art.